package cn.tedu.tmall.admin.mall.pojo.param;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

@Data
public class CategoryAddNewParam implements Serializable {

    /**
     * 类别名称：只能由汉字、字母、空格、数字组成，长度必须在1~16个字符之间
     */
    @ApiModelProperty(value = "类别名称", required = true, example = "茶叶")
    @NotNull(message = "新增类别失败，请提交类别名称！")
    @Pattern(regexp = "^[a-zA-Z0-9\\u4e00-\\u9fa5\\s]{1,16}$", message = "新增类别失败，类别名称必须是由汉字、字母、数字、空格组成的1~16字符串！")
    private String name;

    /**
     * 父级类别ID，如果无父级，则为0
     */
    @ApiModelProperty(value = "父级类别ID", required = true)
    @Range(message = "新增类别失败，请提交有效的父级类别的ID值！")
    private Long parentId;

    /**
     * 关键词列表，各关键词使用英文的逗号分隔
     */
    @ApiModelProperty(value = "关键词列表", required = true)
    private String keywords;

    /**
     * 排序序号
     */
    @ApiModelProperty(value = "排序序号", required = true)
    private Integer sort;

    /**
     * 图标图片的URL
     */
    @ApiModelProperty(value = "图标图片的URL")
    private String icon;

    /**
     * 是否启用，1=启用，0=未启用
     */
    @ApiModelProperty(value = "是否启用", required = true)
    private Integer enable;

    /**
     * 是否显示在导航栏中，1=启用，0=未启用
     */
    @ApiModelProperty(value = "是否显示在导航栏中", required = true)
    private Integer isDisplay;

}
